As is known, for performing complex processing functions, analog memories are currently being studied, the cells of which are capable of memorizing a number of multibit analog or digital values. For this purpose, use is advantageously made of flash cells, in which the value to be memorized is related to the threshold voltage of the cell.
To memorize the input values, such memories employ a programming stage including a programming circuit for modifying the amount of electric charge stored in the floating gate of each cell, and a check circuit for determining whether the desired threshold value has been reached. For this purpose, various programming procedures are known employing as variables the gate and drain voltages of the cells and programming time, according to solutions employing empirical relations or iterative processes. In the first case, a single programming pulse of a predetermined value and duration is normally supplied, and a check is subsequently made to determine whether the threshold value so programmed corresponds with the desired value. In the second case, a number of programming pulses are supplied, and, after each pulse, a check is made to determine whether the desired threshold has been reached, in which case the programming procedure is interrupted.
Currently used read and programming check circuits employ various solutions based on measuring the injected charge or on comparison with a reference voltage, but none has proved entirely satisfactory owing to the need for specially structured memory cells, or the complex design of the circuit, or the duration of the check operations, which is especially disadvantageous in the case of a large number of cells. Nor are known circuits always capable of memorizing any analog value or a large number of different levels.
What is needed is to provide a method and circuit permitting multilevel programming of nonvolatile memory cells by means of a fully and easily integratable structure, which provide for reducing programming time even in the case of a large number of cells.